home *** CD-ROM | disk | FTP | other *** search
/ LOGIC Apps / Logic-APPLE_II_APPS.iso / pc / LOGIC Apple II 5.25" Library - DOS Part 3 / DOS078A.dsk / APPEND BINARY TO APPLESOFT.bas next >
BASIC Source File  |  2012-02-16  |  2KB  |  40 lines

  1. 100  REM ---CABOOSE BY AV FRAIOLI    AFTER POKEWRITER BY VAL            GOLDING
  2. 110  REM  APPLESOFT BASIC VERSION     COPYRIGHT BY AV FRAIOLI           MARCH 7, 1981
  3. 120 N = 27
  4. 130  HOME : VTAB 3:N = N -1: HTAB N: PRINT "--------CABOOSE": HTAB N +9: PRINT "*   *"
  5. 140  FOR PAUSE = 1 TO 20: NEXT PAUSE: IF N >9  THEN 130
  6. 150  PRINT : PRINT "THIS PROGRAM WILL CONVERT THE MACHINE   CODE OF A BINARY FILE ALREADY LOADED IN MEMORY INTO CONSECUTIVE DATA STATEMENTS BEGINNING AT LINE NUMBER 63000.
  7. 160  PRINT : PRINT "THE DATA STATEMENTS CAN BE APPENDED TO, AND DIRECTLY RUN FROM A BASIC (FP) PROG-RAM BY INCORPORATING A POKE ROUTINE SUCHAS IS REMMED INTO THE PROGRAM LISTING   AFTER THESE INSTRUCTIONS."
  8. 170  PRINT : PRINT "THIS PROGRAM IS NOT MEMORY-CONSERVATIVE.ITS PURPOSE IS TO IMPROVE PORTABILITY OFAPPLESOFT PROGRAMS WHICH CALL UP SHORT  MACHINE CODE ROUTINES, AND TO DECREASE  THE CLUTTER OF LISTINGS WHICH CANNOT BE RUN FROM THE CATALOG.
  9. 180  REM *************************
  10. 190  REM POKE FROM DATA STATEMENT ROUTINE:
  11. 200  REM  FOR K=(# OF DECIMAL START ADDRESS TO (# OF DECIMAL END ADDRESS): READ J: POKE K,J: NEXT K
  12. 210  REM ALSO NOTE TO SET HIMEM BELOW START DECIMAL ADDRESS
  13. 220  REM *************************
  14. 230  PRINT : PRINT "     <PRESS SPACE-BAR TO CONTINUE>"
  15. 240  GET A$
  16. 250  IF A$ =  CHR$(32)  THEN 270
  17. 260  GOTO 240
  18. 270  PRINT : PRINT "ENTER DECIMAL START,END ADDRESSES                  ";: INPUT ST,N
  19. 280 LN = 62990:LC = ST:L = 0
  20. 290  HOME : PRINT :
  21. 300  IF LC >N  THEN 330
  22. 310  IF L = 3  THEN 420
  23. 320  GOTO 340
  24. 330  HOME : FLASH : VTAB 10: HTAB 18: PRINT "DONE!": NORMAL : END 
  25. 340 L = L +1:CNT = 0:LN = LN +10: PRINT : PRINT : PRINT " ";LN;" ";"DATA ";
  26. 350  IF CNT = 49  OR LC = N  THEN 370
  27. 360  GOTO 380
  28. 370 CH =  PEEK(37): PRINT  PEEK(LC);:CNT = CNT +1:LC = LC +1: GOTO 390
  29. 380  PRINT  PEEK(LC);",";:CNT = CNT +1:LC = LC +1
  30. 390  IF CNT = 50  THEN 300
  31. 400  IF LC = N +1  THEN 420
  32. 410  GOTO 350
  33. 420  PRINT : PRINT : PRINT " L=0:";"LN=";LN;":LC=";LC;":N=";N;":GOTO290": IF  PEEK(37) >22  THEN 440
  34. 430  PRINT : VTAB 24: PRINT "TRACE CURSOR OVER EACH LINE AND": PRINT "HIT RETURN TO ENTER"
  35. 440  IF CH = 21  THEN  GOTO 480
  36. 450  IF CH = 20  THEN  GOTO 470
  37. 460  GOTO 490
  38. 470  VTAB 3: END 
  39. 480  VTAB 2: END 
  40. 490  VTAB 1: END